#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<queue>
#include"PriorityQueue.h"

//int main()
//{
//	std::priority_queue<int> pq;
//	pq.push(30);
//	pq.push(20);
//	pq.push(10);
//	pq.push(35);
//	pq.push(50);
//	std::cout << pq.size() << std::endl;
//	/*size_t n = pq.size();
//	for (size_t i = 0;i < n;i++)
//	{
//		std::cout << pq.top() << " ";
//		pq.pop();
//	}*/
//	while (!(pq.empty()))
//	{
//		std::cout << pq.top() << " ";
//		pq.pop();
//	}
//	std::cout << std::endl;
//
//}

//class Less
//{
//public:
//	template<class T>
//	bool operator()(const T& x, const T& y)
//	{
//		return x < y;
//	}
//};
//using namespace std;
//int main()
//{
//	Less ls;
//	cout << ls(1, 23) << endl;
//	cout << ls.operator()(1, 23) << endl;
//
//}


int main()
{
	vector<int> v;
	v.push_back(1);
	v.push_back(3);
	v.push_back(4);
	v.push_back(5);
	v.push_back(2);
	fertilizer::priority_queue<int> pq1(v.begin(), v.end());
	while (!(pq1.empty()))
	{
		std::cout << pq1.top() << " ";
		pq1.pop();
	}
	std::cout << std::endl;
	fertilizer::priority_queue<int,vector<int>,greater<int>> pq2(v.begin(), v.end());
	while (!(pq2.empty()))
	{
		std::cout << pq2.top() << " ";
		pq2.pop();
	}
	std::cout << std::endl;
	return 0;

}


